package org.example.main;

import org.apache.commons.lang3.StringUtils;
import org.example.domain.Person;
import org.example.utils.PinyinUtil;

import javax.swing.text.html.parser.Entity;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;

/**
 * @Author: WangShengJie
 * @Date: 2025/4/21
 */
public class MapMain {
    public static void main(String[] args) {
//        boolean b = (
//                ((!CommonUtil.checkIsNullOrEmpty(payFlag))
//                        && ((("0".equals(payFlag) && ((CommonUtil.checkIsNullOrEmpty(wait_prem_flag))
//                        || (!CommonUtil.checkIsNullOrEmpty(wait_prem_flag) && "T".equals(wait_prem_flag))))
//                        || (("4".equals(cont_state) || "5".equals(cont_state) || "6".equals(cont_state))
//                        && CommonUtil.checkIsNullOrEmpty(password)))
//                        || ((("1".equals(payFlag) || "3".equals(payFlag) || "4".equals(payFlag))
//                        && ((CommonUtil.checkIsNullOrEmpty(payType))
//                        || (!CommonUtil.checkIsNullOrEmpty(payType)
//                        && ("4".equals(payType) || "2".equals(payType)
//                        || ((
//                        "4".equals(cont_state) || "5".equals(cont_state) || "6".equals(cont_state))
//                        && (CommonUtil.checkIsNullOrEmpty(password))
//                        && "3".equals(payType)))))))))
//                        || ((CommonUtil.checkIsNullOrEmpty(payFlag))
//                        && ("2".equals(cont_state) ||
//                        "3".equals(cont_state) ||
//                        "31".equals(cont_state) ||
//                        "32".equals(cont_state) ||
//                        "35".equals(cont_state) ||
//                        "36".equals(cont_state) ||
//                        "37".equals(cont_state))));
//        boolean c = (
//                ((!CommonUtil.checkIsNullOrEmpty(payFlag))
//                        && ((("0".equals(payFlag) && ((CommonUtil.checkIsNullOrEmpty(wait_prem_flag))
//                        || (!CommonUtil.checkIsNullOrEmpty(wait_prem_flag) && "T".equals(wait_prem_flag))))
//                        || (("4".equals(cont_state) || "5".equals(cont_state) || "6".equals(cont_state))
//                        && CommonUtil.checkIsNullOrEmpty(password)))
//                        || ((("1".equals(payFlag) || "3".equals(payFlag) || "4".equals(payFlag))
//                        && ((CommonUtil.checkIsNullOrEmpty(payType))
//                        || (!CommonUtil.checkIsNullOrEmpty(payType)
//                        && ("4".equals(payType) || "2".equals(payType)
//                        || ((
//                        "4".equals(cont_state) || "5".equals(cont_state) || "6".equals(cont_state))
//                        && (CommonUtil.checkIsNullOrEmpty(password))
//                        && "3".equals(payType)))))))))
//                        || ((CommonUtil.checkIsNullOrEmpty(payFlag))
//                        && ("2".equals(cont_state) ||
//                        "3".equals(cont_state) ||
//                        "31".equals(cont_state) ||
//                        "32".equals(cont_state) ||
//                        "35".equals(cont_state) ||
//                        "36".equals(cont_state) ||
//                        "37".equals(cont_state))));

        // 当前系统日期
//            LocalDate currentDate = LocalDate.now();
//        System.out.println(currentDate);
//
//            // 指定日期字符串（示例）
//            String specifiedDateStr = "2026-04-20";
//
//            // 创建日期格式化器
//            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//
//            try {
//                // 解析字符串为日期对象
//                LocalDate specifiedDate = LocalDate.parse(specifiedDateStr, formatter);
//
//                // 计算天数差（当前日期 - 指定日期）
//                long daysDifference = ChronoUnit.DAYS.between(specifiedDate, currentDate);
//
//                // 输出结果
//                System.out.println("系统日期与指定日期相差的天数：" + daysDifference);
//            } catch (Exception e) {
//                System.out.println("日期格式错误或无效日期：" + e.getMessage());
//            }
//        }


        String targetDateStr = "2025-04-10";
        String startDateStr = "2025-04-10";
        String endDateStr = "2025-04-20";

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        sdf.setLenient(false); // 禁止宽松解析，避免非法日期
        try {
            Date targetDate = sdf.parse(targetDateStr);
            Date startDate = sdf.parse(startDateStr);
            Date endDate = sdf.parse(endDateStr);

            boolean isInRange =
                    (targetDate.equals(startDate) || targetDate.after(startDate)) &&
                            (targetDate.equals(endDate) || targetDate.before(endDate));

            System.out.println("目标日期是否在范围内：" + isInRange);
        } catch (Exception e) {
            System.out.println("日期格式错误或无效日期：" + e.getMessage());
        }
    }
}
